<?php
class Annonce_adm
{
    /**
     * Variable de " globale"
     * */
    protected $db;                          // Liaison base de donnee
    protected $lang;                        // Fichier lanh
    protected $session;                     // Class session
    protected $setting;                     // Tableau des setting
    protected $smarty;                      // Class smarty pour affichage
    protected $cache;                       // Class lite pour acceder au cache
    /**
     * Parametrage de la class
     * */
    private $_printMessage = true;          // Affiche dans le template un message de resultat d action
    /**
     * Variable accessible suite des actions
     * */
    private $condition_url_pagination;      // Contient la paramtre pour la pagination t=1&a=2
    public $annonce;                     // Contient les informations sur l annonce
    
    /**
     * @desc Construit la class
     * */
    public function __construct($paramClass)
    {
        if(is_array($paramClass))
        {
            foreach($paramClass as $key => $value)
            {
                $this->$key = $value;
            } 
        }     
    }
    
    /**
     * @desc Recuperer les informations d une annonce et les stocks dans Annonce_adm::annonce
     * @param $annonce_id
     * @return bool
     * */
    public function getAnnonceInfo($annonce_id)
    {
        $this->annonce = $this->db->sql_query("SELECT * FROM immo_annonce WHERE id = '" . $annonce_id ."' ", 'ARRAY');
        
        if($this->db->nb_resultat == 1)
            return true;
        else
            return false;       
    }
    
    /**
     * @desc Affiche les message d action
     * @param $text : message a afficheer
     * @param $type : definie l encadrement et la couleur
     * @return void
     * */
    public function printErrorMessage($text, $type = 'succes')
    {
        if($this->_printMessage === true)
        {
            $this->smarty->assign('error_msg', true);
            $this->smarty->assign('error_class', 'error_success');
            $this->smarty->assign('error_image', 'comment_ok');
            $this->smarty->assign('error_message',$text);
            $this->smarty->assign('url_site',$this->setting['url_site']);   
        }        
    }
    
    /**
     * @desc affiche la liste des annononces
     * */
    public function liste_index()
    {
        // Construction requete
        $Query = "
        SELECT tan.id, titre, ref, type, agence, date_ajout, tag.nom as agence_nom, user, nb_vue, tas.nom as secteur_text, tat.nom as type_text 
        FROM immo_annonce tan 
        LEFT JOIN immo_agence tag ON tan.agence = tag.id 
        LEFT JOIN immo_annonce_secteur tas ON tan.secteur = tas.id 
        LEFT JOIN immo_annonce_type tat ON tan.type = tat.id
        ". $this->get_query_condition_index() ." 
        ". $this->get_order_by() ." ";    

        $pager = new PS_Pagination($this->db->open_link, $Query, $this->db, 40, 10, $this->condition_url_pagination);  // Pagination
        $Sql = $pager->paginate();                                                                          // Execution requete   
        $Res = $this->db->nb_resultat;                                                                      // Stockage nb annonce  
        
        $this->smarty->assign('nb_annonce', $Res);
        
        if($Res > 0)
        {
            /**
             * Construction de la liste des annonces
             * */
            $annonces = array();                                                                             // tableau stockage annonces
            
            while( $annonce = $this->db->sql_fetcharray($Sql) )
            {
                $annonce['action'] = $this->construct_action($annonce);
                $annonce['date_ajout'] = $this->format_date($annonce['date_ajout']);
                
                array_push($annonces, $annonce);
            }
            
            $this->smarty->assign('annonces', $annonces);
        } 
        
        $this->liste_annonce_vendu_active();
        $this->smarty->assign('pagination', $pager->renderFullNav() );
    }
    
    public function liste_annonce_vendu_active()
    {
        $Query = "
        SELECT tan.id, titre, ref, type, agence, date_ajout, tag.nom as agence_nom, user, nb_vue, tas.nom as secteur_text, tat.nom as type_text 
        FROM immo_annonce tan 
        LEFT JOIN immo_agence tag ON tan.agence = tag.id 
        LEFT JOIN immo_annonce_secteur tas ON tan.secteur = tas.id 
        LEFT JOIN immo_annonce_type tat ON tan.type = tat.id
        WHERE active = '1'
        AND vendu != '0'
        ORDER BY date_ajout";    
        
        $Sql = $this->db->sql_query($Query);
        
        $nb_annonce = $this->db->nb_resultat;
        
        if($nb_annonce > 0)
        {
            $annonces = array();
            
            while( $annonce = $this->db->sql_fetcharray($Sql) )
            {
                if( $this->session->is_admin($this->session->_session['iduser']) || $annonce['user'] == $this->session->_session['iduser'] )
                {
                    $annonce['action'] = '<a href="annonce.php?unactive&amp;annonce_id=' . $annonce['id'] .'&token='. $this->session->_session['token'].'" title=""><img src="images/lock_48.png" alt="" class="img_small_link"/></a>';                   
                }
                
                $annonce['date_ajout'] = $this->format_date($annonce['date_ajout']);
                
                array_push($annonces, $annonce);
            }
            
            $this->smarty->assign('annonces2', $annonces);
        }
        
        $this->smarty->assign('nb_aav', $nb_annonce);
    }
    
    public function format_date($date)
    {
        return date('d/m/Y', $date);
    }
    
    private function construct_action($annonce)
    {
        if( $this->session->is_admin($this->session->_session['iduser']) || $annonce['user'] == $this->session->_session['iduser'] )
        {
    		$action = '<a href="annonce_image_ajout.php?id=' . $annonce['id'] . '" title=""><img src="./images/image.png" alt="" class="img_small_link"/></a>';
    		$action .='&nbsp;&nbsp;<a href="annonce_edition.php?annonce_id=' . $annonce['id'] . '" title=""><img src="./images/edit.png" class="img_small_link" alt=""/></a>';
            $action .='&nbsp;&nbsp;<a href="javascript:delannonce(\'' . $annonce['id'] . '\');"><img src="images/del.png" style="border:none; width:20px; height:20px;" /></a>';
            
            return $action;
        }
        else
        {
            return '';
        }
    }
    
    /**
     * @desc construit condition pour requete da la page index
     * @param $pagination construit ou non l url pour la pagination
     * @return condition sql formater
     * */
    private function get_query_condition_index($pagination = false)
    {
        if(isset($_GET['reference']) && $_GET['reference'] != '')
        {
        	return "WHERE ref = '" . retrieve('GET', 'reference') . "'";
        }   
        else
        {
            return '';
        }             
    }
    
    /**
     * @desc construit condition pour requete sur order by
     * @param $pagination construit ou non l url pour la pagination
     * @return order by formater sql
     * */
    private function get_order_by($pagination = false)
    {
        if( isset($_GET['order']) )
        {
            if($pagination) $this->construct_url_pagination('order='. retrieve('GET', 'order' ) );
            return " ORDER BY tan." . retrieve('GET', 'order' ) . " ";
        }
        else
        {
            return " ORDER BY date_ajout DESC ";
        }  
    }
    
    /**
     * @desc Construit les parametres de paginations
     * @return void
     * */
    private function construct_url_pagination($param)
    {
        $this->condition_url_pagination .= $param;
    }
        
	public function setUnactive($annonce_id)
	{
		$this->db->sql_query("UPDATE immo_annonce SET active = '0', date_unactive = '". time() ."' WHERE id = '". $annonce_id ."'");
        $this->printErrorMessage($this->lang['Annonce_desactivee']);
	}
	
    /**
     * @desc supprime l annonce
     * @param $annonce_id
     * @return void
     * */
	public function setDelete($annonce_id)
	{
        if(!$this->session->csrf_check_get()) redirect('logout.php?csrf');

		if($this->AdminThisAnnonce($annonce_id))
		{
			// suppression annonce base
			$this->db->sql_query("DELETE FROM immo_annonce WHERE id = '". $annonce_id ."'");
			
			// suppression photo annonce
            $this->setDeletePhoto($annonce_id);
            
            $this->printErrorMessage($this->lang['Annonce_supprimee']);
		}				
	}
    
    /**
     * @desc supprime les photos de l annonce
     * @param $annonce_id identifiant de l annonce
     * @return void
     * */
    private function setDeletePhoto($annonce_id)
    {
		$Sql = $this->db->sql_query("SELECT * FROM immo_annonce_photo WHERE annonce = '". $annonce_id ."'");
		$nb_photo = $this->db->nb_resultat;
		
		if($nb_photo > 0)
		{
			while($photo = $this->db->sql_fetchobject($Sql))
			{
				@unlink('../upload/annonces/'.$annonce_id .'/'. $photo->photo .'');
			}
		}
		@rmdir('../upload/annonces/'.$annonce_id .'');
        
		$this->db->sql_query("DELETE FROM immo_annonce_photo WHERE annonce = '". $annonce_id ."'");    
    }
	
/*	function GetAgence($agence_id = '')
	{
		global $db;
		$form = '<select name="agence">';
		$Sql = $db->sql_query("SELECT id, nom FROM immo_agence ORDER BY nom");
		
		while($Agence = $db->sql_fetchobject($Sql))
		{
			if($Agence->id == $agence_id)
				$form .= '<option value="'. $agence_id .'" selected="selected">'. stripslashes($Agence->nom) .'</option>';
			else
				$form .= '<option value="'. $Agence->id .'">'. stripslashes($Agence->nom) .'</option>';
		}		
		
		$form .= '</select>';
		return $form;
	}
*/
/*	
	function GetType($type_id = '')
	{
		global $type_array;
        		
		$FormType = '<select name="type">';
		
		if($type_id != '' && is_numeric($type_id))
			$FormType .= '<option value="'. $type_id .'" selected="selected">'. $type_array['' . $type_id . ''] .'</option>';
		
		foreach($type_array as $key => $value)
		{
			$FormType .= '<option value="'. $key .'">'. $value .'</option>';
		}
		
		$FormType .= '</select>';
		
		return $FormType;
		
	}
*/	
	/**
	*	Fonction permettant de verifier si l utilisateur courant a les droits d administration sur l annonce
	*	cad modification/suppression/changement de status...
	*	@user_add : utilisateur qui a poster l annonce.
	**/
	function AdminThisAnnonce($annonce_id, $user_add = '')
	{
		if($_SESSION['iduser'] == 1)	return true;
		elseif($user_add != '' && $user_add == $_SESSION['iduser']) return true;
		else
		{
			// Recuperation de l auteur de l annonce et verification
			$Annonce = $db->sql_query("SELECT user FROM immo_annonce WHERE id = '". $annonce_id ."'", 'OBJECT');
			if($Annonce->user == $_SESSION['iduser'])
				return true;
			else
				return false;
		}
	}
	/**
	*	Retourne la liste des departements sous forme de liste
	*	@dpt departement de l annonce optionnel
	**/
/*	function GetDepartement($dpt = '')
	{
		require_once '../kernel/includes/departements.php';
		$form = '<select name="departement">';
		
		if($dpt != '')
			$form .= '<option value="'. $dpt .'" selected="selected">'. $dpt . ' - '. $departement[''. $dpt .''] .'</option>';
		
		foreach($departement as $key => $value)
		{
			$form .= '<option value="'. $key .'">'. $key .' - '. $value .'</option>';
		}
		
		$form .= '</select>';
		return $form;
	}
*/
/*
	function GetCoupDeCoeur($cdc = 0)
	{
		global $lang;
		$form = '<select name="coupdecoeur">';
		if($cdc == 1)
			$form .= '<option value="1" selected="selected">'. $lang['Oui'] .'</option>';
		else
			$form .= '<option value="0" selected="selected">'. $lang['Non'] .'</option>';
		
		$form .= '<option value="1">'. $lang['Oui'] .'</option>';
		$form .= '<option value="0">'. $lang['Non'] .'</option>';
			
		return $form;			
	}
*/
	/**
	*	0 : non vendu
	*	1 : vendu par l agence
	*	2 : vendu concurent
	**/
/*    
	function GetVendu($vendu = 0)
	{
		global $lang;
		
		$form = '<select name="vendu">';
		
		switch ($vendu)
		{
			case 0:
				$form .= '<option value="0" selected="selected">'. $lang['Non'] .'</option>';
				break;
			
			case 1:
				$form .= '<option value="1" selected="selected">'. $lang['Vendu_par_agence'] .'</option>';
				break;
				
			case 2:
				$form .= '<option value="2" selected="selected">'. $lang['Vendu_par_concurence'] .'</option>';
				break;
			
			default:
				$form .= '<option value="0" selected="selected">'. $lang['Non'] .'</option>';
				break;
		}
		
		$form .= '<option value="0">'. $lang['Non'] .'</option>';
		$form .= '<option value="1">'. $lang['Vendu_par_agence'] .'</option>';
		$form .= '<option value="2">'. $lang['Vendu_par_concurence'] .'</option>';
		
		$form .= '</select>';
		return $form;	
	}
*/	
/*	function GetSecteur($secteur = '')
	{
		global $db;
		$form = '<select name="secteur_select"><option value="">------</option>';
		$Sql = $db->sql_query("SELECT DISTINCT(secteur) FROM immo_annonce WHERE secteur != '' ORDER BY secteur");
		while($SecteurSQL = $db->sql_fetchobject($Sql))
		{
			if($secteur != '' && $secteur == $SecteurSQL->secteur) $selected='selected="selected"';
			else $selected = '';
			$form.= '<option value="'. $SecteurSQL->secteur .'" ' . $selected . '>' . $SecteurSQL->secteur . '</option>';
		}
		$form .= '</select>&nbsp;&nbsp;<input type="text" name="secteur" id="secteur" />';
		return $form;
	}
*/
/*	
	function GetActive($active = 1)
	{
		global $lang;
		
		$form = '<select name="active">';
		if($active == 1)
			$form .= '<option value="1" selected="selected">'. $lang['Oui'] .'</option>';
		else
			$form .= '<option value="0" selected="selected">'. $lang['Non'] .'</option>';
		
		$form .= '<option value="1">'. $lang['Oui'] .'</option>';
		$form .= '<option value="0">'. $lang['Non'] .'</option>';
		$form .= '</selected>';
		return $form;
	}
*/    
    /**
     * @desc Determine s'il faut ajouter un nouveau secteur
     * @param $secteur_select : id du secteur issue d une liste deroulante
     * @param $secteur_text : secteur saisie par l utilisateur
     * @return id du secteur
     * */
    private function getSecteurForDB($secteur_select, $secteur_text)
    {
        if($secteur_select != '' && is_numeric($secteur_select) )
        {
            return $secteur_select;
        } 
        else
        {
            return $this->setAjoutSecteur($secteur_text, retrieve('POST', 'departement'));
        }
    }
    
    /**
     * @desc ajoute le secteur a la base
     * @param $secteur : nom du secteur
     * @param $departement : departement du secteur recuperer par rapport annonce
     * @return id du secteur
     * */
    private function setAjoutSecteur($secteur, $departement)
    {
        $this->db->sql_query(CreateQueryInsert(array('nom' => addslashes($secteur), 'departement' =>    $departement), 'immo_annonce_secteur'));
        
        // Suppression du cache
        $this->cache->remove('secteur_array');
        $this->cache->remove('secteur_array_non_nul');
        
        return $this->db->sql_lastinsertid();
    }
    
    /**
     * @desc ajoute la reference de l annonce qui est $annonce_id
     * @param $annonce_id
     * */
    private function setRef($annonce_id)
    {
        $this->db->sql_query("UPDATE immo_annonce SET ref = '". $annonce_id ."' WHERE id = '". $annonce_id ."'");
    }
    
    /**
     * @desc enregistre la photo
     * @param $annonce_id
     * @param $default true|false enregistre la photo par default
     * @return bool
     * */
    public function setUploadPhoto($annonce_id, $default = false)
    {
        if(isset($_POST['resize']) && $photo_principale = upload_annonce_resize('photo', $annonce_id))
        {
            if($default)
                $this->db->sql_query("UPDATE immo_annonce SET photo_principale = '". $photo_principale ."' WHERE id = '". $annonce_id ."'");              // Mise a jour de l annonce

            $this->db->sql_query("INSERT INTO immo_annonce_photo (id, annonce, photo) VALUES ('', '". $annonce_id ."', '". $photo_principale ."')");  // Declaration de l image
            
            return true;  
        }
        elseif($photo_principale = upload_annonce('photo', $annonce_id))
        {
            if($default)
                $db->sql_query("UPDATE immo_annonce SET photo_principale = '". $photo_principale ."' WHERE id = '". $annonce_id ."'");

            $this->db->sql_query("INSERT INTO immo_annonce_photo (id, annonce, photo) VALUES ('', '". $annonce_id ."', '". $photo_principale ."')");  // Declaration de l image
                  
            return true;     
        }         
        else
            return false; 
    }
	
	function setAjout()
	{
		global $db, $template, $lang, $basesql;
		
		$error = 0;
		if(!$titre = retrieve('POST', 'titre', true, true)) $error++;
		$ref = retrieve('POST','reference');
		if(!$prix = retrieve('POST','prix', true, true)) $error++;
		if(!$description = retrieve('POST', 'description', true, true)) $error++;
		$type = retrieve('POST', 'type');
		$agence = retrieve('POST', 'agence');
		$departement = retrieve('POST', 'departement');
		$cdc = retrieve('POST','coupdecoeur');
		$secteur = retrieve('POST','secteur');
		$secteur_text = retrieve('POST','secteur_text');
		$titre_court = retrieve('POST','titre_court');
        $ville = retrieve('POST','ville');		
        
		if($error > 0)
		{
            $this->printErrorMessage($this->lang['Erreur_formulaire_annonce_imcomplet']);
		}
		else
		{
            $secteur_db = $this->getSecteurForDB($secteur, $secteur_text);

			$QueryArray = array(
			'titre'	=>	addslashes($titre),
			'titre_court'	=>	addslashes($titre_court),
			'prix'	=>	$prix,
			'description'	=>	$description,
			'type'	=>	$type,
			'agence'	=>	$agence,
			'user'	=>	$_SESSION['iduser'],
			'date_ajout'	=>	time(),
			'date_modif'	=>	time(),
			'active'	=>	1,
			'vendu'	=>	0,
			'cdc'	=>	$cdc,
            'ville' =>  addslashes($ville),
			'departement'	=>	$departement,
			'secteur'	=>	$secteur_db,
            'ref' => $ref != '' ? $ref : '');
			
			$db->sql_query(CreateQueryInsert($QueryArray, 'immo_annonce'));
            
			$annonce_id = $db->sql_lastinsertid('immo_annonce_id_seq');
            
			if($ref == '') $this->setRef($annonce_id);
            
            if( $this->setUploadPhoto($annonce_id, true) )
                $this->printErrorMessage($this->lang['Annonce_ajoutee']); 
            else
                $this->printErrorMessage($this->lang['Annonce_ajoutee_erreur_image']);
                       			
		}
	}
	
	function setEdition()
	{
		$error = 0;
		
		if(!$annonce_id = retrieve('POST', 'annonce_id', true, true)) $error++;
		if(!$titre = retrieve('POST', 'titre', true, true)) $error++;
		if(!$ref = retrieve('POST', 'reference', true, true)) $error++;
		if(!$prix = retrieve('POST','prix', true, true)) $error++;
		if(!$description = retrieve('POST', 'description', true, true)) $error++;
		$type = retrieve('POST', 'type');
		$agence = retrieve('POST', 'agence');
		$departement = retrieve('POST', 'departement');
		$active = retrieve('POST', 'active');
		$vendu = retrieve('POST', 'vendu');
		$cdc = retrieve('POST','coupdecoeur');
		$old_vendu = retrieve('POST', 'old_vendu');
		$old_active = retrieve('POST', 'old_active');
		$titre_court = retrieve('POST','titre_court');
        $ville = retrieve('POST','ville');

		if($error > 0)
		{
            $this->printErrorMessage($this->lang['Erreur_formulaire_annonce_imcomplet']);
		}
		else
		{
            $secteur = $this->getSecteurForDB(retrieve('POST','secteur') , retrieve('POST','secteur_text'));
			
            $QueryArray = array(
			'titre'	=>	$titre,
			'titre_court'	=>	addslashes($titre_court),
			'ref'	=>	$ref,
			'prix'	=>	$prix,
			'description'	=>	$description,
			'type'	=>	$type,
			'agence'	=>	$agence,
			'date_modif'	=>	time(),
			'departement'	=>	$departement,
			'secteur'	=>	$secteur,
            'ville' =>  addslashes($ville),
            'cdc'   =>  $cdc,
            );	
			
			// Traitement vendu
			if($vendu != $old_vendu)
			{
				if($vendu == 1 || $vendu == 2)
				{
					$QueryArray['vendu'] = $vendu;
					$QueryArray['vendu_date'] = time();
				}
				else
				{
					$QueryArray['vendu'] = 0;
					$QueryArray['vendu_date'] = '';
				}
			}
			
			// Activation 
			if($active != $old_active)
			{
				if($active == 0)
				{
					$QueryArray['active'] = 0;
					$QueryArray['date_unactive'] = time();
				}
				else
				{
					$QueryArray['active'] = 1;
					$QueryArray['date_unactive'] = '';
				}
			}		
			
			$this->db->sql_query(CreateQueryUpdate($QueryArray, 'immo_annonce', 'id = \''. $annonce_id .'\''));
            
            $this->printErrorMessage($this->lang['Annonce_modifiee']);
        }
	}
 

        
    /**
     * @desc permet de changer la photo par defaut d une annonce.
     * @param $annonce_id : identifiant annonce
     * @param $photo_id : identifiant de la photo
     * */
    public function setMakeDefautPhoto($annonce_id, $photo_id)
    {
        if(! $this->session->csrf_check_get() ) 
            redirect('logout.php?csrf');
            
        // Recuperation nom de la photo
        $Photo = $this->db->sql_query("SELECT photo FROM immo_annonce_photo WHERE id = '". $photo_id ."' AND annonce = '". $annonce_id ."'",'OBJECT');
        
        if($this->db->nb_resultat != 1) 
            redirect('annonce_image_ajout.php?id='. $annonce_id .'&error=not_photo_id_for_annonce');
        
        $this->db->sql_query("UPDATE immo_annonce SET photo_principale = '". $Photo->photo ."' WHERE id = '". $annonce_id ."'");
    }
    
    /**
     * @desc supprime une photo en fonction de son id
     * */
    public function setDeletePhoto2($photo_id)
    {
        $photo = $this->db->sql_query("SELECT * FROM immo_annonce_photo WHERE id = '" . $photo_id . "'", 'ARRAY');  

        if($this->annonce['photo_principale'] == $photo['photo'])       // Verification si photo par defaut
            return false;
        else
        {
            // Supression photo
            if(@unlink(IMMOPHP_ROOT_PATH . 'upload/annonces/' . $photo['annonce'] . '/' . $photo['photo'] . ''))
            {
                $this->db->sql_query("DELETE FROM immo_annonce_photo WHERE id = '". $photo_id ."'"); 
                return true;   
            }
            else
                return false;            
        }
    }
    
    /**-- TYPE --**/
    
    function ajout_type()
    {
        global $template, $lang, $db, $Session;
        if(!$Session->csrf_check()) redirect('logout.php?csrf');
        if(!$nom = retrieve('POST', 'nom', true)) redirect('type.php');
        $description = retrieve('POST','description');
        $visible = retrieve('POST','visible');
        
        $QueryArray = array(
        'nom'   =>  addslashes($nom),
        'description'   =>  addslashes($description),
        'visible'   =>  $visible,
        );
        
        $db->sql_query(CreateQueryInsert($QueryArray, 'immo_annonce_type'));
        
        if(isset($_POST['add_menu']))
        {
            $type_id = $db->sql_lastinsertid();
            $Ordre = $db->sql_query("SELECT MAX(ordre) as max FROM immo_menu_navigation",'ARRAY');
            $QueryArray = array(
            'titre' =>  $nom,
            'lien'  =>  'annonce.php?type='. $type_id,
            'ordre' =>  $Ordre['max'] + 1,
            'actif' =>  1,
            );
            $db->sql_query(CreateQueryInsert($QueryArray, 'immo_menu_navigation'));
        }           
        
        $template->assign_vars(array(
		'ERROR_MSG'	=> true,
		'ERRORH_CLASS'	=> 'error_success',
		'ERRORH_IMG'	=>	'comment_ok',
		'V_ERROR_TXT'	=>	$lang['Type_ajoute']));
    }
    
    function edition_type()
    {
        global $template, $lang, $db, $Session, $type_array; 
        if(!$type_id = retrieve('POST','type_id')) redirect('type.php');
        if(!$nom = retrieve('POST', 'nom', true)) redirect('type.php');
        $description = retrieve('POST','description');
        $visible = retrieve('POST','visible');  
        
        $QueryArray = array(
        'nom'   =>  addslashes($nom),
        'description'   =>  addslashes($description),
        'visible'   =>  $visible,
        );
        
        $db->sql_query(CreateQueryUpdate($QueryArray, 'immo_annonce_type', " id = '". $type_id ."' ")); 
        $db->sql_query("UPDATE immo_menu_navigation SET titre = '". addslashes($nom) ."' WHERE lien = 'annonce.php?type=".$type_id."'");
        
        $template->assign_vars(array(
		'ERROR_MSG'	=> true,
		'ERRORH_CLASS'	=> 'error_success',
		'ERRORH_IMG'	=>	'comment_ok',
		'V_ERROR_TXT'	=>	$lang['Type_modifie']));
    }
    
    function delete_type()
    {
        global $template, $lang, $db, $Session, $type_array;
        if(!$Session->csrf_check_get()) redirect('logout.php?csrf');  
        $type_id = retrieve('GET','id');  
        $db->sql_query("DELETE FROM immo_annonce_type WHERE id = '". $type_id ."'");
        $db->sql_query("DELETE FROM immo_menu_navigation WHERE lien = 'annonce.php?type=".$type_id."'");
        
        $template->assign_vars(array(
		'ERROR_MSG'	=> true,
		'ERRORH_CLASS'	=> 'error_success',
		'ERRORH_IMG'	=>	'comment_ok',
		'V_ERROR_TXT'	=>	$lang['Type_supprime']));
    }
    
    function type_verif_lien_nav($type)
    {
        global $db;
        $Sql = $db->sql_query("SELECT id FROM immo_menu_navigation WHERE lien = 'annonce.php?type=".$type."'");
        if($db->nb_resultat == 0) return false;
        else return true; 
    }
    
    function ajout_menu_type()
    {
        global $template, $lang, $db, $Session, $type_array;
        if(!$Session->csrf_check_get()) redirect('logout.php?csrf');  
        $type_id = retrieve('GET','type_id');
        
        if($type_id != '' && is_numeric($type_id))
        {
            $Ordre = $db->sql_query("SELECT MAX(ordre) as max FROM immo_menu_navigation",'ARRAY');
            $QueryArray = array(
            'titre' =>  $type_array[''. $type_id .''],
            'lien'  =>  'annonce.php?type='. $type_id,
            'ordre' =>  $Ordre['max'] + 1,
            'actif' =>  1,
            );
            $db->sql_query(CreateQueryInsert($QueryArray, 'immo_menu_navigation')); 
            
            $template->assign_vars(array(
    		'ERROR_MSG'	=> true,
    		'ERRORH_CLASS'	=> 'error_success',
    		'ERRORH_IMG'	=>	'comment_ok',
    		'V_ERROR_TXT'	=>	$lang['Type_ajoute_au_menu'])); 
        }  
    }
}
?>